34 research outputs found
Fibers are not (P)Threads: The Case for Loose Coupling of Asynchronous Programming Models and MPI Through Continuations
Asynchronous programming models (APM) are gaining more and more traction,
allowing applications to expose the available concurrency to a runtime system
tasked with coordinating the execution. While MPI has long provided support for
multi-threaded communication and non-blocking operations, it falls short of
adequately supporting APMs as correctly and efficiently handling MPI
communication in different models is still a challenge. Meanwhile, new
low-level implementations of light-weight, cooperatively scheduled execution
contexts (fibers, aka user-level threads (ULT)) are meant to serve as a basis
for higher-level APMs and their integration in MPI implementations has been
proposed as a replacement for traditional POSIX thread support to alleviate
these challenges.
In this paper, we first establish a taxonomy in an attempt to clearly
distinguish different concepts in the parallel software stack. We argue that
the proposed tight integration of fiber implementations with MPI is neither
warranted nor beneficial and instead is detrimental to the goal of MPI being a
portable communication abstraction. We propose MPI Continuations as an
extension to the MPI standard to provide callback-based notifications on
completed operations, leading to a clear separation of concerns by providing a
loose coupling mechanism between MPI and APMs. We show that this interface is
flexible and interacts well with different APMs, namely OpenMP detached tasks,
OmpSs-2, and Argobots.Comment: 12 pages, 7 figures Published in proceedings of EuroMPI/USA '20,
September 21-24, 2020, Austin, TX, US
The EU Center of Excellence for Exascale in Solid Earth (ChEESE): Implementation, results, and roadmap for the second phase
publishedVersio
Effective curricula for at-risk students in vocational education:a study of teachers’ practice
Abstract Background This study focused upon a curriculum for at-risk students in vocational education aimed at enhancing students’ motivation and engagement for learning. The study explored teachers’ view on effective curricular characteristics and teachers’ strategies to create positive learning experiences for students. Methods Qualitative research has been conducted regarding four curricula for at-risk students; data were collected and examined by means of 16 focus group interviews with teachers and analysis of relevant documents. Results Teachers pointed out the central position of the student, resulting in individual trajectories. Teachers used peer group dynamics, job orientation and sports as tool for student development. Teachers regarded themselves as coaches, as experts in sport activities and as group managers. For positive learning experiences two key curricular characteristics have been identified: (1) equality in the relationship between student and teacher, (2) a positive fit between the curriculum and the students
A generic attribute extension to OTF and its use for MPI replay
AbstractData formats are important components for parallel event tracing tools used for debugging and performance analysis. This paper presents a generic extension mechanism for the Open Trace Format (OTF) that allows to add arbitrary data to the existing event data types. This avoids the need to frequently adapt the data format and the library API to accommodate new usage scenarios. The replay of MPI communication is demonstrated as a real-world example that requires an extension. Several other application scenarios that would benefit from additional data about certain event types are mentioned
Overview of Application Instrumentation for Performance Analysis and Tuning
Profiling and tuning of parallel applications is an essential part of HPC. Analysis and improvement of the hot spots of an application can be done using one of many available tools, that provides measurement of resources consumption for each instrumented part of the code. Since complex applications show different behavior in each part of the code, it is desired to insert instrumentation to separate these parts. Besides manual instrumentation, some profiling libraries provide different ways of instrumentation. Out of these, the binary patching is the most universal mechanism, that highly improves user-friendliness and robustness of the tool. We provide an overview of the most often used binary patching tools and show a workflow of how to use them to implement a binary instrumentation tool for any profiler or autotuner. We have also evaluated the minimum overhead of the manual and binary instrumentation
Energy-Efficiency Tuning of a Lattice Boltzmann Simulation Using MERIC
Energy-efficiency is already of paramount importance for High Performance Computing (HPC) systems operation, and tools to monitor power usage and tune relevant hardware parameters are already available and in use at major supercomputing centres. On the other hand, HPC application developers and users still usually focus just on performance, even if they will probably be soon required to look also at the energy-efficiency of their jobs. Only few software tools allow to energy-profile a generic application, and even less are able to tune energy-related hardware parameters from the application itself. In this work we use the MERIC library and the RADAR analyzer, developed within the EU READEX project, to profile and tune for efficiency the execution parameters of a real-life Lattice Boltzmann code. Profiling methodology and details are described, and results are presented and compared with the ones measured in a previous work using different methodologies and tools